X12 1 TimesRoman TR TB TI Times-Bold Times-Bold Times-Bold
X12 1 Helvetica SR SB SI Times-Bold Times-Bold Times-Bold
X.end of file
X
XOnly lines beginning with digits are treated as data lines. Using this file,
X<^F>1 (the default) will select TimesRoman -- a serif font, and <^F><2> will
Xselect Helvetica -- a sans-serif font. Typing <^F>0 will clear the font of
Xemphasis and centering, and reset to the default font (font 1). Under some
Xversions, line thickness may not appear on the user display, but will on
Xoutput. The PostScript font entries are present for expansion. The .lemrc is
Xnormally read from the current directory, otherwise the user's home directory
Xis checked. Failing this, a single default font is used. When a document
Xcontains more fonts than present in the .lemrc, absent fonts will display and
Xprint using font 1. This font is also used for help text.
X
XTick Gridding:
X
XTick marks may be placed on the active window with the <^T><digit> command.
XThe tick marks may be removed with the <^T> command (a non-symmetric toggle).
XThe tick grid restricts the location of the (green) mark when it is placed in
Xfree space to lie coincident with a visible tick point. It does not constrain
Xthe tracking of the cursor, nor selections to active object features, such
Xas box edges or line endpoints.
X
XWhen setting tick marks, a <digit> value in the range 1-5 sets a square grid
Xwith a spacing of 2^n. For instance, <^T><4> gives a 16x16 tick grid. The
Xcurrent implementation limits the visible tick marks to an 8x8 grid to avoid
Xdisplay clutter, though 2x2 and 4x4 gridding are permitted.
X
XDigit values "6" (mnemonic for "hexagon") through "9" provide hexagonal (and
Xthus triangular) gridding with edge lengths of 8,16,32 and 64 pixels,
Xrespectively. Here the vertical and horizontal tick pitch are not equal, and
Xthe user might have to redefine the tick offset in some applications (below).
X
XWhen ticking is enabled and the mark is present, the tick grid produced is
Xoffset in x and y so that a tick point coincides with the current mark. This
Xis particularly important with hexagonal tick grids, and allows the
Xconstruction of radials with orientations that are multiple of sixty degrees
X(through one of six near neighbor tick points), or thirty degrees (through
Xclose neighbors). Analogously, square tick grids allow the construction of
Xninety and forty-five degree lines, through immediate and near tick points.
X
XSelections:
X
XSelecting a line near an endpoint moves to the exact endpoint. Selecting
Xon a line snaps to some portion of the line that is n/12ths of the way
Xalong the line. This makes it easy to subdivide lines by 1/2ths, 1/4ths and
X1/6ths.
X
XSelecting a rectangle moves to one of nine compass points along the boxes
Xedges, or in its center. These points are analogous to PIC's "nw", "ne", "w",
X"c" etc. location designations.
X
XSelecting an ellipse moves to one of five points: "n", "s", "e", "w" or "c".
XThis avoids the intersection testing for selecting elsewhere along the curve.
XAdditionally, this allows the ellipse to be subsequently changed to a box
X(if the aesthetics of this style is better), with no fear that the lines
Xdon't connect properly. This is because ellipses and rectangles touch
X("kiss") and these four cardinal points, and are concentric.
X
XUndo:
X
XThe <^U> undo operation normally is used to undelete the last set of objects
Xdeleted. It will also undo the effects of a tug, move or special transformation
Xcommand. In the latter cases the undo is effected internally by specifng the
Xreverse transformation. Should intervening selections have taken place, the
Xundo will not reconstruct the original situation (this "feature" can be
Xexploited to the user's gain). Undo in the case of tugging may not always
Xwork exactly, as the reverse operation might tug new objects which became
Xattached at the conclusion of the original operation.
X
XGrouping:
X
XTyping <^G> will take all selected objects and place them in a common
X"group". A grouping associates objects for the sake of selection and
Xdeselection, thereby facilitating moving, copying and deleting. The
Xgrouping is nameless, and overrides any previous grouping (groupings
Xare non-hierarchical). However, multiple disjoint groups may exist
Xconcurrently. When a file is written, grouping information is lost. When
Xit is read in, all items are placed in a new group, and the read input is
Xselected. This makes it simple to composite foreground and background data
Xtaken from respective files.
X
XUngrouping is done with the <^P> (pop grouping) command, which instantiates
Xall selected objects into ungrouped, atomic entities.
X
XCopying:
X
XThe <^C> command replicates all selected objects, placing them in a new
Xgroup, and displaying them offset from their original data. Most often
Xit is immediately followed by a move command to place the data properly.
XThe offset is by one tick unit (or by eight units if ticking is off) in both
Xthe up and left directions.
X
XMoving:
X
XDragging the mark when objects are selected will move all selected objects
Xby the vector length defined between the mark position and the button
Xup position.
X
XCutting:
X
XThe <^X> key will allow all selected lines to fragment (cut) any deselected
Xlines into disjoint pieces. The cut lines retain all properties of grouping
Xand style. This is useful when "shaving" a set of lines to some slope, or
Xfor doing hidden line removal by hand, opaquing the contents behind some
X"polygon", etc. There is (at present) no way to uncut lines (i.e. rejoin
Xlines with common vertex and similar slope).
X
XTugging:
X
XPlacing the mark on some object, and the dragging the mark (if no other
Xobjects are selected) will "tug" that portion of the object. For instance,
Xtugging a line's enpoint will move only that vertex, thus reorienting the
Xline. Tugging any of the eight perimeter compass points of a box will align
Xone or more edges while leaving the remaining edges untouched. Tugging of
Xellipses is similar, except that only the four cardinal compass points along
Xthe perimeter may be moved. Tugging the interior of an object (the central
Xpoint for text, ellipses or boxes, or any non-endpoint on a line) is a short-
Xhand way to "move" that object while it is still deselected. Because the mark
Xbecomes red when its placed on an object, this is an indication that tugging
Xwill take place if the mark is dragged from some object.
X
XSpecial Orientation Facilities:
X
XA sub-menu of orientation facilities is available with the <^S> (special)
Xcommand. These operations include mirroring, ninety-degree rotation,
X(non-)differential scaling, arbitrary rotation and alignment. All require the
Xpresence of the mark to define a local origin, and operate only on selected
Xobjects. The "Flip" command will mirror objects about the vertical axis passing through the mark. The "CCW" command rotates objects ninety degrees counter-
Xclockwise about the mark.
X
XFor remaining commands, the mark must be coincident with exactly two line
Xendpoints. One line must be "normal", and the other have an arrowhead (i.e.,
Xis left or right adjusted) not on the mark (origin). This small orientation
Xsymbol defines the basis of transformation for various commands. The arrowed
Xline is called the source basis, the normal line the destination basis.
XThe magnify command resizes objects such that the length of the source basis
Xwill be mapped into the length of the destination basis. In fact, if the bases
Xare selected, this transformation will provide a visual confirmation of this.
XThe stretch command performs differential magnification to map the source
Xbasis onto the destination basis. The rotate command similarly orients the
Xsource basis onto the destination basis. Finally, the align command orients
Xthe source basis onto the Y (up) unit vector, and the destination basis onto
Xthe X (across) unit vector. This general affine transformation allows for the
Xeasy rectification of input data which has been digitized with some residual
Xscaling or orientation.
X
XReading:
X
XThe <^R> command prompts for a filename for an input file, which is read
Xin if found. Failing this, the operation is reattepted on {filename.lem},
Xwhich allows the omission of the .lem extension in most cases. Reading may
Xalso be specified by running the program "lemming {filename}", which invokes
Xthe read command on the command line specified file. Any number of files may
Xbe specified on the command line. If "filename" is not found, the command is
Xfails. If found, the dataset is checked to see if it is a valid lemming file,
Xand the read is aborted if it fails this test.
X
XData read in belongs to a unique group (see Grouping) and is left selected,
Xto facilitate positioning of fore and background files.
X
XWriting:
X
XThe <^W> command works analogously to the <^R> command for filing. The
Xexternal representation is in ASCII. Because the file contains no
Xhierarchical structure, users may edit it at will. At present, no provision
Xfor overwrite testing is done.
X
XPic Output:
X
XThe <^O> key generates PIC style output, given an output file name.
XRemember to save your drawing as a lemming file as well, the program does
XNOT read PIC files for input. Vax 8600 users may have to use the sequence
X<^V><^O> to trigger this command.
X
XQuitting:
X
XThe <^Q> command quits. Vax-8600 users will need to use <^V><^Q>. No
Xconfirmation is done (at the moment). Quitting requires confirmation
Xif the workspace has been changed.
X
XFine Points:
X
XWhen the mark is clicked, it is aligned to any object in its near proximity.
XFailing this, it will align to the nearest grid point, if present. Finally,
Xnear vertical and near horizontal motion align the grid point to the axis of
Xmotion. This makes rectilinear drawing simple.
X
XArea selection is most often done (it has been observed) by dragging from
Xtop to bottom. Some versions of "lemming" are experimenting with uphill
Xdragging (mouse moving up the display, prior to release) as a means to
Xdeselect objects within an area.
X
XText may contain embedded TeX or Troff commands as an aid to setting
Xmathematics or other specialized strings. The length of the display text is
Xthen no longer a good approximation to the hardcopy version.
X
XHelp:
X
XThe control(^) character is used for system help. If followed immediately
Xby a single keystroke, it responds with the action defined by that key.
XIf followed by a "space" character, help for all commands is given.
X
XThe command <^></> may be used to view all current fonts in their three
Xemphases (regular, bold and italic), as described under the .lemrc section.
XThe current default font and emphasis is flagged with the marker "[x]", where
Xx is 'L' 'R' or 'C' to described the current alignment mode in effect.
X
XMachine Considerations:
X
XThe SUN version depicts selection ("red") by using a simple stipple pattern
Xto make "grey". This causes dotted and dashed lines to become rather sparse,